home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2008 January / Cybermycha 1_2008.iso / Data.cab / _EB9AD8BBDAFB409180C2AD422E25BAE1 < prev    next >
Encoding:
Text File  |  2004-03-17  |  1023 b   |  52 lines

  1. regc4f( 5, %daycolor_r, %daycolor_g, %daycolor_b, %daycolor_a )
  2. regc4f( 7, %ambient_r, %ambient_g, %ambient_b, %ambient_a )
  3.  
  4. hlsl("
  5.  
  6. #include <../common_hlsl.h>
  7.  
  8. const HALF3 DayColor : register(c5);
  9. const HALF4 Ambient : register(c7);
  10.  
  11. sampler2D    s0;
  12. sampler2D    s1;
  13. sampler2D    s2;
  14.  
  15. float4 main( float2 uv : TEXCOORD0,
  16.              float3 l_dir : TEXCOORD1,
  17.              float3 e_dir : TEXCOORD2,
  18.              float2 ctg : TEXCOORD3 ) : COLOR {
  19.  
  20.     float4 height = tex2D( s1, uv );
  21.  
  22.     float3 l = normalize( l_dir );
  23.     float3 e = normalize( e_dir );
  24.  
  25.     uv.xy += e*(height.w*.02 - .01);
  26.  
  27.     float4 color = tex2D( s0, uv );
  28.     float3 normal = tex2D( s1, uv )*2 - 1;
  29.     float4 clouds = tex2D( s2, ctg );
  30.  
  31.     float3 h = normalize( e + l );
  32.  
  33.     float kd = saturate( dot(l, normal) );
  34.     float ks = saturate( dot(h, normal) );
  35.  
  36.     ks = pow( ks, 64 );
  37.  
  38.     kd = (1-clouds.w)*kd*Ambient+Ambient.w;
  39.     ks = (1-clouds.w)*ks;
  40.  
  41.     color = color*kd + (float4)ks*.2;
  42.  
  43.     color.rgb *= DayColor;
  44.     return color;
  45. }
  46.  
  47.  
  48.  
  49. ")
  50.  
  51.  
  52.